﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BUL;
using DevComponents.DotNetBar;

namespace Quanlybanhang
{
    public partial class frmMain : DevComponents.DotNetBar.Office2007Form
    {
        // biến j để đếm tab
        int j = 0;
        Business bu = new Business();
        public frmMain()
        {
            InitializeComponent();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Form_Load ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void frmMain_Load(object sender, EventArgs e)
        {
            //var frmDangNhap = new frmDangNhap();
            //frmDangNhap.ShowDialog();
            tabControl1.Tabs.Clear();
            
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //=== Đăng xuất => form đăng nhập và xóa hết tab chuyển j=0 ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnDangXuat_Click(object sender, EventArgs e)
        {
            //Xoa hết tab
            tabControl1.Tabs.Clear();
            j = 0;
            var frmDangNhap = new frmDangNhap();
            frmDangNhap.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Gọi form đổi mật khẩu ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnDoiMatKhau_Click(object sender, EventArgs e)
        {
            var frmDoiMatKhau = new frmDoiMatKhau();
            frmDoiMatKhau.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Xóa các tab ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void tabControl1_TabItemClose(object sender, TabStripActionEventArgs e)
        {
            // viet dong tab o day
            tabControl1.Tabs.Remove(tabControl1.SelectedTab);
            j = j - 1;
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Phân quyền ================
        //+++++++++++++++++++++++++++++++++++++++++++++++

        private void btnPhanQuyen_Click(object sender, EventArgs e)
        {
           // var tapPhanQuyen = new tab;
            if (tabControl1.Tabs.Contains(tabPhanQuyen) == false)
            {
                tabControl1.Tabs.Insert(j, tabPhanQuyen);
                j = j + 1;
                tabControl1.SelectedTab = tabPhanQuyen;
            }
            else
            {
                tabControl1.SelectedTab = tabPhanQuyen;
            }
            //load dgv phân quyền
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Khu vuc ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnKhuVuc_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabKhuVuc) == false)
            {
                tabControl1.Tabs.Insert(j, tabKhuVuc);
                j = j + 1;
                tabControl1.SelectedTab = tabKhuVuc;
            }
            else
            {
                tabControl1.SelectedTab = tabKhuVuc;
            }
            //load dgvKhuVuc
            bu.GetAllKhuVuc("", dgvKhuVuc);
        }

        public void ReLoadKV()
        {
            bu.GetAllKhuVuc("", dgvKhuVuc);
        }

        private void btnThemKhuVuc_Click(object sender, EventArgs e)
        {
            var frmThemKV = new frmThemKhuVuc()
            {
                reLoad = ReLoadKV
            };
            frmThemKV.ShowDialog();
        }

        private void btnSuaKhuVuc_Click(object sender, EventArgs e)
        {
            string makhuvuc = "";
            foreach (DataGridViewRow item in dgvKhuVuc.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    makhuvuc = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (makhuvuc == "")
            {
                MessageBox.Show("bạn chưa chọn khu vực để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaKV = new frmSuaKhuVuc() { reLoad = ReLoadKV };
            frmSuaKhuVuc.maKV = makhuvuc;
            frmSuaKV.ShowDialog();
        }

        private void btnXoa_KhuVuc_Click(object sender, EventArgs e)
        {
            var makhuvucs = new List<string>();
            foreach (DataGridViewRow row in dgvKhuVuc.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    makhuvucs.Add(Convert.ToString(row.Cells[1].Value));
            if (makhuvucs.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các khu vực đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteKV(makhuvucs);
                    bu.GetAllKhuVuc("", dgvKhuVuc);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'khu vực' để xóa!!", @"Thông báo");
        }

        private void btnNapLai_KhuVuc_Click(object sender, EventArgs e)
        {
            bu.GetAllKhuVuc("", dgvKhuVuc);
        }

        private void btnDong_KhuVuc_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabKhuVuc);
            j = j - 1;
        }

        private void dgvKhuVuc_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string makhuvuc = Convert.ToString(dgvKhuVuc.Rows[rowIndex].Cells[1].Value);

            if (makhuvuc == "")
            {
                MessageBox.Show("bạn chưa chọn khu vực để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaKV = new frmSuaKhuVuc() { reLoad = ReLoadKV };
            frmSuaKhuVuc.maKV = makhuvuc;
            frmSuaKV.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Khach Hang ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnKhachHang_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabKhachHang) == false)
            {
                tabControl1.Tabs.Insert(j, tabKhachHang);
                j = j + 1;
                tabControl1.SelectedTab = tabKhachHang;
            }
            else
            {
                tabControl1.SelectedTab = tabKhachHang;
            }
            //load dgvkhachhang
        }

        private void btnThemKH_Click(object sender, EventArgs e)
        {
            var frmThemKH = new frmThemKH();
            frmThemKH.ShowDialog();
        }

        private void btnSuaKH_Click(object sender, EventArgs e)
        {
            var frmSuaKH = new frmSuaKH();
            frmSuaKH.ShowDialog();
        }

        private void btnTimKiemKH_Click(object sender, EventArgs e)
        {
            //var frmTimKiemKH = new frmTimKiemKH();
            //frmTimKiemKH.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Nha phan phoi ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnNhaPP_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabNhaPP) == false)
            {
                tabControl1.Tabs.Insert(j, tabNhaPP);
                j = j + 1;
                tabControl1.SelectedTab = tabNhaPP;
            }
            else
            {
                tabControl1.SelectedTab = tabNhaPP;
            }
            //load dgvNPP
            bu.GetAllNPP("", dgvNhaPP);
        }
        public void ReLoadNPP()
        {
            bu.GetAllNPP("", dgvNhaPP);
        }
        private void btnThemNPP_Click(object sender, EventArgs e)
        {
            var frmThemNhaPP = new frmThemNhaPP()
            {
                reLoad = ReLoadNPP
            };
            frmThemNhaPP.ShowDialog();
        }

        private void btnSuaNPP_Click(object sender, EventArgs e)
        {
            string manpp = "";
            foreach (DataGridViewRow item in dgvNhaPP.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    manpp = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (manpp == "")
            {
                MessageBox.Show("bạn chưa chọn nhà phân phối để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaNPP = new frmSuaNhaPP() { reLoad = ReLoadNPP };
            frmSuaNhaPP.maNPP = manpp;
            frmSuaNPP.ShowDialog();
        }

        private void btnTimKiemNPP_Click(object sender, EventArgs e)
        {
            //var frmTimKiemNPP = new frmTimKiemNPP();
            //frmTimKiemNPP.ShowDialog();
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Nha san xuat ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnNhaSX_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabNhaSX) == false)
            {
                tabControl1.Tabs.Insert(j, tabNhaSX);
                j = j + 1;
                tabControl1.SelectedTab = tabNhaSX;
            }
            else
            {
                tabControl1.SelectedTab = tabNhaSX;
            }
            //load dgvNhaSX
            bu.GetAllNSX("", dgvNhaSX);
        }

        public void ReLoadNSX()
        {
            bu.GetAllNSX("", dgvNhaSX);
        }

        private void btnThemNSX_Click(object sender, EventArgs e)
        {
            var frmThemNSX = new frmThemNSX()
            {
                reLoad = ReLoadNSX
            };
            frmThemNSX.ShowDialog();
        }

        private void btnSuaNSX_Click(object sender, EventArgs e)
        {
            string mansx = "";
            foreach (DataGridViewRow item in dgvNhaSX.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    mansx = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (mansx == "")
            {
                MessageBox.Show("bạn chưa chọn nhà sản xuất để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaNSX = new frmSuaNSX() { reLoad = ReLoadNSX };
            frmSuaNSX.maNSX = mansx;
            frmSuaNSX.ShowDialog();
        }

        private void btnXoaNSX_Click(object sender, EventArgs e)
        {
            var mansxs = new List<string>();
            foreach (DataGridViewRow row in dgvNhaSX.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    mansxs.Add(Convert.ToString(row.Cells[1].Value));
            if (mansxs.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các nhà sản xuất đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteNSX(mansxs);
                    bu.GetAllNSX("", dgvNhaSX);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'nhà sản xuất' để xóa!!", @"Thông báo");
        }

        private void btnNapLaiNSX_Click(object sender, EventArgs e)
        {
            bu.GetAllNSX("", dgvNhaSX);
        }

        private void btnDongNSX_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabNhaSX);
            j = j - 1;
        }

        private void dgvNhaSX_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string mansx = Convert.ToString(dgvNhaSX.Rows[rowIndex].Cells[1].Value);

            if (mansx == "")
            {
                MessageBox.Show("bạn chưa chọn nhà sản xuất để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaNSX = new frmSuaNSX() { reLoad = ReLoadNSX };
            frmSuaNSX.maNSX = mansx;
            frmSuaNSX.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Kho ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnKho_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabKho) == false)
            {
                tabControl1.Tabs.Insert(j, tabKho);
                j = j + 1;
                tabControl1.SelectedTab = tabKho;
            }
            else
            {
                tabControl1.SelectedTab = tabKho;
            }
            //load dgvKho
           bu.GetAllKho("",dgvKho);

        }

        // sử lý sự kiên khi đóng form nhập va sua Kho
        //1 hàm giống với kiểu hàm mà delegate bên form B có thể tham chiếu tới.
        public void ReLoadKho()
        {
            bu.GetAllKho("", dgvKho);
        }

        private void btnThemKho_Click(object sender, EventArgs e)
        {
           //var value = dgvKho.Rows[0].Cells[0].Value;
            var frmThemKho = new frmThemKho()
            {
                reLoad = ReLoadKho              
            };
            // khai bao cho nay de goi ham vua viet khi dong form them moi            
            frmThemKho.ShowDialog();    
        }

        private void btnSuaKho_Click(object sender, EventArgs e)
        {
            string makho = "";
            foreach (DataGridViewRow item in dgvKho.Rows)
            {
                if(Convert.ToString(item.Cells[0].Value)=="Y")
                {
                    makho = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if(makho=="")
            {
                MessageBox.Show("bạn chưa chọn kho để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaKho = new frmSuaKho() { reLoad = ReLoadKho };
            frmSuaKho.makho = makho;
            frmSuaKho.ShowDialog();
        }

        private void btnXoaKho_Click(object sender, EventArgs e)
        {
            var makhos = new List<string>();
            foreach (DataGridViewRow row in dgvKho.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    makhos.Add(Convert.ToString(row.Cells[1].Value));
            if (makhos.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các Kho đang chọn ?", @"Xóa dữ liệu",MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteKho(makhos);
                    bu.GetAllKho("", dgvKho);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'kho' để xóa!!", @"Thông báo");
        }

        private void btnNapLaiKho_Click(object sender, EventArgs e)
        {
            bu.GetAllKho("", dgvKho);
        }

        private void dgvKho_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string makho = Convert.ToString(dgvKho.Rows[rowIndex].Cells[1].Value);

            if (makho == "")
            {
                MessageBox.Show("bạn chưa chọn hàng để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaKho = new frmSuaKho() { reLoad = ReLoadKho };
            frmSuaKho.makho = makho;
            frmSuaKho.ShowDialog();
        }

        private void btnDongKho_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabKho);
            j = j - 1;
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Don vi tinh ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnDVT_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabDVT) == false)
            {
                tabControl1.Tabs.Insert(j, tabDVT);
                j = j + 1;
                tabControl1.SelectedTab = tabDVT;
            }
            else
            {
                tabControl1.SelectedTab = tabDVT;
            }
            //load dgvDVT
            bu.GetAllDVT("", dgvDVT);
        }

        public void ReLoadDVT()
        {
            bu.GetAllDVT("", dgvDVT);
        }

        private void btnThemDVT_Click(object sender, EventArgs e)
        {
            var frmThemDVT = new frmThemDVT() { reLoad = ReLoadDVT };
            frmThemDVT.ShowDialog();
        }

        private void btnSuaDVT_Click(object sender, EventArgs e)
        {
            string madvt = "";
            foreach (DataGridViewRow item in dgvDVT.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    madvt = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (madvt == "")
            {
                MessageBox.Show("bạn chưa chọn đơn vị tính để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaDVT = new frmSuaDVT() { reLoad = ReLoadDVT };
            frmSuaDVT.maDVT = madvt;
            frmSuaDVT.ShowDialog();
        }

        private void btnXoaDVT_Click(object sender, EventArgs e)
        {
            var madvts = new List<string>();
            foreach (DataGridViewRow row in dgvDVT.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    madvts.Add(Convert.ToString(row.Cells[1].Value));
            if (madvts.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các đơn vị tính đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteDVT(madvts);
                    bu.GetAllDVT("", dgvDVT);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'đơn vị tính' để xóa!!", @"Thông báo");
        }

        private void btnNapLaiDVT_Click(object sender, EventArgs e)
        {
            bu.GetAllDVT("", dgvDVT);
        }

        private void btnDongDVT_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabDVT);
            j = j - 1;
        }

        private void dgvDVT_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string madvt = Convert.ToString(dgvDVT.Rows[rowIndex].Cells[1].Value);

            if (madvt == "")
            {
                MessageBox.Show("bạn chưa chọn đơn vị tính để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaDVT = new frmSuaDVT() { reLoad = ReLoadDVT };
            frmSuaDVT.maDVT = madvt;
            frmSuaDVT.ShowDialog();
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Nhom hang ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnNhomHang_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabNhomHang) == false)
            {
                tabControl1.Tabs.Insert(j, tabNhomHang);
                j = j + 1;
                tabControl1.SelectedTab = tabNhomHang;
            }
            else
            {
                tabControl1.SelectedTab = tabNhomHang;
            }
            //load dgvNhomHang
            bu.GetAllNhomHang("", dgvNhomHang);
        }

        public void ReLoadNH()
        {
            bu.GetAllNhomHang("", dgvNhomHang);
        }

        private void btnThemNhomHang_Click(object sender, EventArgs e)
        {
            var frmThemNhomHang = new frmThemNhomHang() 
                { 
                    reLoad = ReLoadNH 
                };
            frmThemNhomHang.ShowDialog();
        }

        private void btnSuaNhomHang_Click(object sender, EventArgs e)
        {
            string manhomhang = "";
            foreach (DataGridViewRow item in dgvNhomHang.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    manhomhang = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (manhomhang == "")
            {
                MessageBox.Show("bạn chưa chọn nhóm hàng để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaNH = new frmSuaNhomHang() { reLoad = ReLoadNH };
            frmSuaNhomHang.maNH = manhomhang;
            frmSuaNH.ShowDialog();
        }

        private void btnXoa_NhomHang_Click(object sender, EventArgs e)
        {
            var manhomhangs = new List<string>();
            foreach (DataGridViewRow row in dgvNhomHang.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    manhomhangs.Add(Convert.ToString(row.Cells[1].Value));
            if (manhomhangs.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các nhóm hàng đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteNhomHang(manhomhangs);
                    bu.GetAllNhomHang("", dgvNhomHang);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'nhóm hàng' để xóa!!", @"Thông báo");
        }

        private void btnNapLai_NhomHang_Click(object sender, EventArgs e)
        {
            bu.GetAllNhomHang("", dgvNhomHang);
        }

        private void btnDong_NhomHang_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabNhomHang);
            j = j - 1;
        }

        private void dgvNhomHang_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string manhomhang = Convert.ToString(dgvNhomHang.Rows[rowIndex].Cells[1].Value);

            if (manhomhang == "")
            {
                MessageBox.Show("bạn chưa chọn nhóm hàng để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaNH = new frmSuaNhomHang() { reLoad = ReLoadNH };
            frmSuaNhomHang.maNH = manhomhang;
            frmSuaNH.ShowDialog();
        }     

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Hang hoa ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnHangHoa_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabHangHoa) == false)
            {
                tabControl1.Tabs.Insert(j, tabHangHoa);
                j = j + 1;
                tabControl1.SelectedTab = tabHangHoa;
            }
            else
            {
                tabControl1.SelectedTab = tabHangHoa;
            }
            //load dgvHangHoa
        }

        private void btnThemHH_Click(object sender, EventArgs e)
        {
            var frmThemHH = new frmThemHH();
            frmThemHH.ShowDialog();
        }

        private void btnSuaHH_Click(object sender, EventArgs e)
        {
            var frmSuaHH = new frmSuaHH();
            frmSuaHH.ShowDialog();
        }

        private void btnTimKiemHH_Click(object sender, EventArgs e)
        {
            //var frmTimKiemHH = new frmTimKiemHH();
            //frmTimKiemHH.ShowDialog();
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Chat lieu ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnChatLieu_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabChatLieu) == false)
            {
                tabControl1.Tabs.Insert(j, tabChatLieu);
                j = j + 1;
                tabControl1.SelectedTab = tabChatLieu;
            }
            else
            {
                tabControl1.SelectedTab = tabChatLieu;
            }
            //load dgvChatLieu
            bu.GetAllChatLieu("", dgvChatLieu);
        }

        public void ReLoadCL()
        {
            bu.GetAllChatLieu("", dgvChatLieu);
        } 

        private void btnThemChatLieu_Click(object sender, EventArgs e)
        {
            var frmThemChatLieu = new frmThemChatLieu()
            {
                reLoad = ReLoadCL
            };
            frmThemChatLieu.ShowDialog();
        }

        private void btnSuaChatLieu_Click(object sender, EventArgs e)
        {
            string machatlieu = "";
            foreach (DataGridViewRow item in dgvChatLieu.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    machatlieu = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (machatlieu == "")
            {
                MessageBox.Show("bạn chưa chọn chất liệu để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaCL = new frmSuaChatLieu() { reLoad = ReLoadCL };
            frmSuaChatLieu.maCL = machatlieu;
            frmSuaCL.ShowDialog();
        }

        private void btnNapLai_ChatLieu_Click(object sender, EventArgs e)
        {
            bu.GetAllChatLieu("", dgvChatLieu);
        }

        private void btnXoa_ChatLieu_Click(object sender, EventArgs e)
        {
            var machatlieus = new List<string>();
            foreach (DataGridViewRow row in dgvChatLieu.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    machatlieus.Add(Convert.ToString(row.Cells[1].Value));
            if (machatlieus.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các loại chất liệu đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteCL(machatlieus);
                    bu.GetAllChatLieu("", dgvChatLieu);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'chất liệu' để xóa!!", @"Thông báo");
        }

        private void btnDong_ChatLieu_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabChatLieu);
            j = j - 1;
        }

        private void dgvChatLieu_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string machatlieu = Convert.ToString(dgvChatLieu.Rows[rowIndex].Cells[1].Value);

            if (machatlieu == "")
            {
                MessageBox.Show("bạn chưa chọn chất liệu để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaCL = new frmSuaChatLieu() { reLoad = ReLoadCL };
            frmSuaChatLieu.maCL = machatlieu;
            frmSuaCL.ShowDialog();
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Cong Dung ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnCongDung_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabCongDung) == false)
            {
                tabControl1.Tabs.Insert(j, tabCongDung);
                j = j + 1;
                tabControl1.SelectedTab = tabCongDung;
            }
            else
            {
                tabControl1.SelectedTab = tabCongDung;
            }
            //load dgvCongDung
            bu.GetAllCongDung("", dgvCongDung);
        }

        public void ReLoadCD()
        {
            bu.GetAllCongDung("", dgvCongDung);
        }

        private void btnThemCongDung_Click(object sender, EventArgs e)
        {
            var frmThemCongDung = new frmThemCongDung() 
            { 
                reLoad = ReLoadCD 
            };
            frmThemCongDung.ShowDialog();
        }

        private void btnSuaCongDung_Click(object sender, EventArgs e)
        {
            string macongdung = "";
            foreach (DataGridViewRow item in dgvCongDung.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    macongdung = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (macongdung == "")
            {
                MessageBox.Show("bạn chưa chọn công dụng để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaCD = new frmSuaCongDung() { reLoad = ReLoadCD };
            frmSuaCongDung.maCD = macongdung;
            frmSuaCD.ShowDialog();
        }

        private void btnXoa_CongDung_Click(object sender, EventArgs e)
        {
            var macongdungs = new List<string>();
            foreach (DataGridViewRow row in dgvCongDung.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    macongdungs.Add(Convert.ToString(row.Cells[1].Value));
            if (macongdungs.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các loại công dụng đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteCD(macongdungs);
                    bu.GetAllCongDung("", dgvCongDung);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'công dụng' để xóa!!", @"Thông báo");
        }

        private void btnNapLai_CongDung_Click(object sender, EventArgs e)
        {
            bu.GetAllCongDung("", dgvCongDung);
        }

        private void btnDong_CongDung_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabCongDung);
            j = j - 1;
        }

        private void dgvCongDung_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string macongdung = Convert.ToString(dgvCongDung.Rows[rowIndex].Cells[1].Value);

            if (macongdung == "")
            {
                MessageBox.Show("bạn chưa chọn công dụng để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaCD = new frmSuaCongDung() { reLoad = ReLoadCD };
            frmSuaCongDung.maCD = macongdung;
            frmSuaCD.ShowDialog();
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Mau sac ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnMauSac_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabMauSac) == false)
            {
                tabControl1.Tabs.Insert(j, tabMauSac);
                j = j + 1;
                tabControl1.SelectedTab = tabMauSac;
            }
            else
            {
                tabControl1.SelectedTab = tabMauSac;
            }
            //load dgvMauSac
            bu.GetAllMauSac("", dgvMauSac);
        }

        public void ReLoadMS()
        {
            {
                bu.GetAllMauSac("", dgvMauSac);
            }
        }
        private void btnThemMauSac_Click(object sender, EventArgs e)
        {
            var frmThemMauSac = new frmThemMauSac()
            {
                reLoad = ReLoadMS
            };
            frmThemMauSac.ShowDialog();
        }

        private void btnSuaMauSac_Click(object sender, EventArgs e)
        {
            string mamausac = "";
            foreach (DataGridViewRow item in dgvMauSac.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    mamausac = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (mamausac == "")
            {
                MessageBox.Show("bạn chưa chọn màu sắc để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaMS = new frmSuaMauSac() { reLoad = ReLoadMS };
            frmSuaMauSac.maMS = mamausac;
            frmSuaMS.ShowDialog();
        }

        private void btnXoa_MauSac_Click(object sender, EventArgs e)
        {
            var mamausacs = new List<string>();
            foreach (DataGridViewRow row in dgvMauSac.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    mamausacs.Add(Convert.ToString(row.Cells[1].Value));
            if (mamausacs.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các loại màu sắc đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteMS(mamausacs);
                    bu.GetAllMauSac("", dgvMauSac);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'màu sắc' để xóa!!", @"Thông báo");
        }

        private void btnNapLai_MauSac_Click(object sender, EventArgs e)
        {
            bu.GetAllMauSac("", dgvMauSac);
        }

        private void btnDong_MauSac_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabMauSac);
            j = j - 1;
        }

        private void dgvMauSac_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string mamausac = Convert.ToString(dgvMauSac.Rows[rowIndex].Cells[1].Value);

            if (mamausac == "")
            {
                MessageBox.Show("bạn chưa chọn màu sắc để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaMS = new frmSuaMauSac() { reLoad = ReLoadMS };
            frmSuaMauSac.maMS = mamausac;
            frmSuaMS.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Chuc Vu ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnChucVu_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabChucVu) == false)
            {
                tabControl1.Tabs.Insert(j, tabChucVu);
                j = j + 1;
                tabControl1.SelectedTab = tabChucVu;
            }
            else
            {
                tabControl1.SelectedTab = tabChucVu;
            }
            //load dgvChucVu
            bu.GetAllChucVu("", dgvChucVu);
        }

        public void ReLoadCV()
        {
            bu.GetAllChucVu("", dgvChucVu);
        }

        private void btnThemChucVu_Click(object sender, EventArgs e)
        {
            var frmThemCV = new frmThemCV()
            {
                reLoad = ReLoadCV
            };
            frmThemCV.ShowDialog();
        }

        private void btnSuaChucVu_Click(object sender, EventArgs e)
        {
            string machucvu = "";
            foreach (DataGridViewRow item in dgvChucVu.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    machucvu = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (machucvu == "")
            {
                MessageBox.Show("bạn chưa chọn chức vụ để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaCV = new frmSuaCV() { reLoad = ReLoadCV };
            frmSuaCV.maCV = machucvu;
            frmSuaCV.ShowDialog();
        }

        private void btnXoaChucVu_Click(object sender, EventArgs e)
        {
            var machucvus = new List<string>();
            foreach (DataGridViewRow row in dgvChucVu.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    machucvus.Add(Convert.ToString(row.Cells[1].Value));
            if (machucvus.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các chức vụ đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteCV(machucvus);
                    bu.GetAllChucVu("", dgvChucVu);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'chức vụ' để xóa!!", @"Thông báo");
        }

        private void btnNapLaiChucVu_Click(object sender, EventArgs e)
        {
            bu.GetAllChucVu("", dgvChucVu);
        }

        private void dgvChucVu_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string machucvu = Convert.ToString(dgvChucVu.Rows[rowIndex].Cells[1].Value);

            if (machucvu == "")
            {
                MessageBox.Show("bạn chưa chọn chức vụ để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaCV = new frmSuaCV() { reLoad = ReLoadCV };
            frmSuaCV.maCV = machucvu;
            frmSuaCV.ShowDialog();
        }

        private void btnDongChucVu_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabChucVu);
            j = j - 1;
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Nhân viên ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnNhanVien_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabNhanVien) == false)
            {
                tabControl1.Tabs.Insert(j, tabNhanVien);
                j = j + 1;
                tabControl1.SelectedTab = tabNhanVien;
            }
            else
            {
                tabControl1.SelectedTab = tabNhanVien;
            }
            //load dgvNhanVien
        }

        private void btnThemNV_Click(object sender, EventArgs e)
        {
            var frmThemNV = new frmThemNV();
            frmThemNV.ShowDialog();
        }

        private void btnSuaNV_Click(object sender, EventArgs e)
        {
            var frmSuaNV = new frmSuaNV();
            frmSuaNV.ShowDialog();
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Bo Phan ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnBoPhan_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabBoPhan) == false)
            {
                tabControl1.Tabs.Insert(j, tabBoPhan);
                j = j + 1;
                tabControl1.SelectedTab = tabBoPhan;
            }
            else
            {
                tabControl1.SelectedTab = tabBoPhan;
            }
            //load dgvBP
            bu.GetAllBoPhan("", dgvBoPhan);
        }

        public void ReLoadBP()
        {
            bu.GetAllBoPhan("", dgvBoPhan);
        }

        private void btnThemBP_Click(object sender, EventArgs e)
        {
            var frmThemBP = new frmThemBP()
            {
                reLoad = ReLoadBP             
            };
            frmThemBP.ShowDialog();
        }

        private void btnSuaBP_Click(object sender, EventArgs e)
        {
            string mabophan = "";
            foreach (DataGridViewRow item in dgvBoPhan.Rows)
            {
                if (Convert.ToString(item.Cells[0].Value) == "Y")
                {
                    mabophan = Convert.ToString(item.Cells[1].Value);
                    break;
                }
            }
            if (mabophan == "")
            {
                MessageBox.Show("bạn chưa chọn bộ phận để cập nhật!!", "Thông báo");
                return;
            }
            var frmSuaBP = new frmSuaBP() { reLoad = ReLoadBP };
            frmSuaBP.maBP = mabophan;
            frmSuaBP.ShowDialog();
        }

        private void btnXoaBP_Click(object sender, EventArgs e)
        {
            var mabophans = new List<string>();
            foreach (DataGridViewRow row in dgvBoPhan.Rows)
                if (Convert.ToString(row.Cells[0].Value) == "Y")
                    mabophans.Add(Convert.ToString(row.Cells[1].Value));
            if (mabophans.Count > 0)
            {
                var resultClick = MessageBox.Show(@"Bạn muốn xóa các bộ phận đang chọn ?", @"Xóa dữ liệu", MessageBoxButtons.YesNo);
                if (resultClick == DialogResult.Yes)
                {
                    bu.DeleteBP(mabophans);
                    bu.GetAllBoPhan("", dgvBoPhan);
                }
            }
            else MessageBox.Show(@"Bạn chưa chọn 'bộ phận' để xóa!!", @"Thông báo");
        }

        private void dgvBoPhan_CellDoubleClick_1(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex = e.RowIndex;
            if (e.RowIndex < 0) return;
            string mabophan = Convert.ToString(dgvBoPhan.Rows[rowIndex].Cells[1].Value);

            if (mabophan == "")
            {
                MessageBox.Show("bạn chưa chọn bộ phận để cập nhật!!", "Thông báo");
                return;
            }

            var frmSuaBP = new frmSuaBP() { reLoad = ReLoadBP };
            frmSuaBP.maBP = mabophan;
            frmSuaBP.ShowDialog();
        }

        private void btnDongBP_Click(object sender, EventArgs e)
        {
            tabControl1.Tabs.Remove(tabBoPhan);
            j = j - 1;
        }

        private void btnNapLaiBP_Click(object sender, EventArgs e)
        {
            bu.GetAllBoPhan("", dgvBoPhan);
        }
        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Nhap Hang ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnMuaHang_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabNhapHang) == false)
            {
                tabControl1.Tabs.Insert(j, tabNhapHang);
                j = j + 1;
                tabControl1.SelectedTab = tabNhapHang;
            }
            else
            {
                tabControl1.SelectedTab = tabNhapHang;
            }
            //load dgvNhapHang
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Xuat Hang ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnBanHang_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabXuatHang) == false)
            {
                tabControl1.Tabs.Insert(j, tabXuatHang);
                j = j + 1;
                tabControl1.SelectedTab = tabXuatHang;
            }
            else
            {
                tabControl1.SelectedTab = tabXuatHang;
            }
            //load dgvXuatHang
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Chung Tu ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnChungTu_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabChungTu) == false)
            {
                tabControl1.Tabs.Insert(j, tabChungTu);
                j = j + 1;
                tabControl1.SelectedTab = tabChungTu;
            }
            else
            {
                tabControl1.SelectedTab = tabChungTu;
            }
            //load dgvChungTu
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Doanh Thu ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnDoanhThu_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabDoanhThu) == false)
            {
                tabControl1.Tabs.Insert(j, tabDoanhThu);
                j = j + 1;
                tabControl1.SelectedTab = tabDoanhThu;
            }
            else
            {
                tabControl1.SelectedTab = tabDoanhThu;
            }
            //load dgvDoanhThu
        }

        //+++++++++++++++++++++++++++++++++++++++++++++++
        //================== Ton kho ================
        //+++++++++++++++++++++++++++++++++++++++++++++++
        private void btnTonKho_Click(object sender, EventArgs e)
        {
            if (tabControl1.Tabs.Contains(tabTonKho) == false)
            {
                tabControl1.Tabs.Insert(j, tabTonKho);
                j = j + 1;
                tabControl1.SelectedTab = tabTonKho;
            }
            else
            {
                tabControl1.SelectedTab = tabTonKho;
            }
            //load dgvTonKho
        }

        private void btnKetThuc_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void tabControlPanel16_Click(object sender, EventArgs e)
        {

        }

    }
}